import pandas as pd
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
# 需要提前下载安装  pip install seaborn
import seaborn as sns #加载seaborn包
mpl.rcParams['font.sans-serif']=['SimHei'] #显示中文
plt.rcParams['axes.unicode_minus']=False #让负号正常显示

# seaborn有五中绘图风格
df=pd.DataFrame({'x':range(10),'y':range(10)})
sns.set_style('darkgrid')
plt.title("style='darkgrid'(默认)")
sns.scatterplot(x='x',y='y',data=df)
# plt.show()
sns.set_style('whitegrid')
plt.title("style='whitegrid")
sns.scatterplot(x='x',y='y',data=df)
# plt.show()
sns.set_style('dark')
plt.title("style='dark")
sns.scatterplot(x='x',y='y',data=df)
# plt.show()
sns.set_style('white')
plt.title("style='white")
sns.scatterplot(x='x',y='y',data=df)
# plt.show()
sns.set_style('ticks')
plt.title("style='ticks")
sns.scatterplot(x='x',y='y',data=df)
# plt.show()


mpg=pd.read_csv('mpg.csv')
print(mpg.head())
print(mpg.info())
# 散点图
sns.scatterplot(x='马力',y='每加仑高速里程',data=mpg)
sns.scatterplot(x='马力',y='每加仑高速里程',data=mpg,size='油缸数')
sns.scatterplot(x='马力',y='每加仑高速里程',hue='车型',data=mpg)
plt.show()

# 折线图
sns.lineplot(x='马力',y='每加仑高速里程',data=mpg)
#阴影是默认的置信区间，可设置ci=0,将其去除
sns.lineplot(x='马力',y='每加仑高速里程',data=mpg,ci=0)
sns.lineplot(x='马力',y='每加仑高速里程',data=mpg,hue='车型',ci=0)
plt.show()

# relplot综合函数
sns.relplot(x='马力',y='每加仑高速里程',data=mpg)
plt.show()
sns.relplot(x='马力',y='每加仑高速里程',data=mpg,kind='line')
plt.show()
sns.relplot(x='马力',y='每加仑高速里程',data=mpg,row='车型')
plt.show()